\clearpage
\subsection{Простейшее четырехбайтное XOR-шифрование}

Если при XOR-шифровании применялся шаблон длиннее байта, например, 4-байтный, то его также легко увидеть.

Например, вот начало файла kernel32.dll (32-битная версия из Windows Server 2008):

\begin{figure}[H]
\centering
\myincludegraphics{ff/XOR/4byte/original1.png}
\caption{Оригинальный файл}
\end{figure}

\clearpage
Вот он же, но \q{зашифрованный} 4-байтным ключом:

\begin{figure}[H]
\centering
\myincludegraphics{ff/XOR/4byte/encrypted1.png}
\caption{\q{Зашифрованный} файл}
\end{figure}

Очень легко увидеть повторяющиеся 4 символа.

Ведь в заголовке PE-файла много длинных нулевых областей, из-за которых ключ становится видным.

\clearpage
Вот начало PE-заголовка в 16-ричном виде:

\begin{figure}[H]
\centering
\myincludegraphics{ff/XOR/4byte/original2.png}
\caption{PE-заголовок}
\end{figure}

\clearpage
И вот он же, \q{зашифрованный}:

\begin{figure}[H]
\centering
\myincludegraphics{ff/XOR/4byte/encrypted2.png}
\caption{\q{Зашифрованный} PE-заголовок}
\end{figure}

Легко увидеть визуально, что ключ это следующие 4 байта: \TT{8C 61 D2 63}.
Используя эту информацию, довольно легко расшифровать весь файл.

Таким образом, важно помнить эти свойства PE-файлов:
1) в PE-заголовке много нулевых областей;
2) все PE-секции дополняются нулями до границы страницы (4096 байт), 
так что после всех секций обычно имеются длинные нулевые области.

Некоторые другие форматы файлов могут также иметь длинные нулевые области.

Это очень типично для файлов, используемых научным и инженерным ПО.

Для тех, кто самостоятельно хочет изучить эти файлы, то их можно скачать здесь:

\url{http://go.yurichev.com/17352}.

\subsubsection{\Exercise}

\begin{itemize}
	\item \url{http://challenges.re/50}
\end{itemize}

